Skip to content

feat: notifications, host controls, and UI polish#56

Merged
GraysonCAdams merged 7 commits intomainfrom
feat/notifications-host-controls-polish
Mar 3, 2026
Merged

feat: notifications, host controls, and UI polish#56
GraysonCAdams merged 7 commits intomainfrom
feat/notifications-host-controls-polish

Conversation

@GraysonCAdams
Copy link
Copy Markdown
Collaborator

Summary

  • In-app new_clip notifications: New clips now show in the Activity feed (previously push-only), with auto-clear on watch and dismiss button
  • Host caption management: Host can edit captions inline on reels and in the clips manager, refetch metadata from source URLs via yt-dlp, and delete any clip
  • Push notification fixes: Tags are now unique per actor so multiple users' notifications don't overwrite each other
  • Auto-clear notifications: Comment/reply/mention notifications clear when comments are viewed; new_clip notifications clear on watch
  • UI polish: Comment input refactored to flex-based pill layout, caption expand/collapse with frosted glass backdrop, filter bar dimming scoped to mobile, page titles show group name, crown icon on Group settings tab

Test plan

  • Verify new_clip notifications appear in Activity sheet after someone adds a clip
  • Verify watching a clip auto-clears its new_clip notification
  • Verify viewing comments auto-clears comment/reply/mention notifications
  • Verify dismiss (X) button removes individual notifications
  • Test host caption editing on reels (pencil icon → edit → save)
  • Test host metadata refetch (refresh icon on reel overlay and clips manager)
  • Test host can delete any clip (not restricted to own unwatched)
  • Verify non-host users cannot edit captions or refetch
  • Test expanded clip rows in clips manager (tap to expand, edit, refetch)
  • Verify push notification tags don't overwrite across different users
  • Check comment input pill layout renders correctly
  • Verify caption expand/collapse with backdrop on reels
  • Verify page titles show group name
  • Run full CI suite (lint, format, type-check, build)

Add pointerleave listener alongside pointercancel to properly cancel
hold gestures when the pointer leaves the element boundary.
Append actor ID to push notification tags so multiple users' reactions,
comments, and mentions don't overwrite each other's notifications.
Only keep user-provided captions for music clips. Previously, song
metadata titles would overwrite captions or fill them unnecessarily.
- Store new_clip notifications in the DB (previously push-only)
- Auto-clear new_clip notifications when clip is watched
- Auto-clear comment/reply/mention notifications when comments are viewed
- Add dismiss button (X) on individual notifications
- Add DELETE /api/notifications/[id] endpoint
- Include clipContentType in notification API response
Refactor comment input from absolute-positioned actions to a flex-based
pill container. Fix MentionInput autoResize to account for padding and
normalize textarea display/margin.
…ement

- Host can edit captions inline on reels and in clips manager
- Host can refetch metadata from source URL via yt-dlp
- Host can delete any clip (not just own unwatched clips)
- Extract better captions from yt-dlp (prefer description over title)
- Add POST /api/clips/[id]/refetch endpoint
- Update PATCH /api/clips/[id] for host-only caption edits
- Expandable clip rows in settings with edit/refetch actions
- Caption expand/collapse with frosted glass backdrop on reels
- Add page titles showing group name
- Only hide filter bar on narrow viewports when contributor pill expands
- Reduce notification bell touch target height to match other top-row elements
- Add crown icon to Group settings tab
@GraysonCAdams GraysonCAdams merged commit be1b7d9 into main Mar 3, 2026
18 checks passed
@GraysonCAdams GraysonCAdams deleted the feat/notifications-host-controls-polish branch March 3, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant